LBB

JavaScript 中的一些小技巧

# JavaScript 中的一些小技巧 ## 使用扩展运算符`[...str]`代替 `str.split('')` ```javascript const str = '😊' console.log(str.split('')) // ['\uD83D', '\uDE0A'] console.log([...str]) // ['😊'] ``` UTF-16 所能表示的 65,536 个字符不足以涵盖世界上所有的字符,为了表示超出这个范围的字符,Unicode 引入了代理对(Surrogate Pairs)。 - 码元 (Code Unit): UTF-16 编码中的基本单元,固定为 16 位。一个代理对包含两个码元。 - 码点 (Code Point): Unicode 中赋予一个字符的唯一编号。一个表情符号(如 😊)只有一个码点 (U+1F60A),但它需要用两个码元 (\uD83D 和 \uDE0A) 来表示。 ECMAScript 6 (ES6) 在发布时,重新定义了字符串的迭代方式。扩展运算符 (...) 正是利用了这套全新的、更完善的迭代协议,从而能够“智能地”处理包括代理对(Surrogate Pairs)在内的复杂字符。 > https://attio.com/engineering/blog/javascript-string-slice-considered-harmful
JavaScript 中的一些小技巧 | LBB